import { PrimaryGeneratedColumn, VersionColumn, ObjectIdColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm'

// 通用的数据模型
export abstract class CommonEntity {
    // 主键
    @PrimaryGeneratedColumn()
    id: number

    // 创建时间
    @CreateDateColumn()
    createdAt: Date

    // 更新时间
    @UpdateDateColumn()
    updatedAt: Date

    // 删除时间
    @DeleteDateColumn()
    deletedAt: Date

    // 软删除标识
    @Column({ type: 'boolean', default: false })
    isDeleted: boolean

    // 更新次数
    @VersionColumn({
        select: false
    })
    version: number
}